//
//  GVIndexMessageCell.h
//  GmallVIP
//
//  Created by yemeihua on 15/9/10.
//  Copyright (c) 2015年 yemeihua. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "GVMessageImageView.h"
#import "GVMessageVoiceView.h"
#import "GVMessageVideoView.h"
#import "GVMessageProductView.h"
#import "GVMessagePushView.h"
#import "GVMessageRegisterView.h"
#import "GVMessageOrderNoticeView.h"
#import "GVMessageMusicView.h"
#import "TTTAttributedLabel.h"

@class GVIndexMessageCell;

@protocol GVIndexMessageCellDelegate <NSObject>

- (void)didMessageCell:(GVIndexMessageCell *)cell touchUpInsideAvatorImageView:(UIImageView *)imageView;

- (void)didMessageCell:(GVIndexMessageCell *)cell touchUpInsideMessageImageView:(UIImageView *)imageView;

- (void)didMessageCell:(GVIndexMessageCell *)cell touchUpInsideMessageVoiceView:(GVMessageVoiceView *)voiceView;

- (void)didMessageCell:(GVIndexMessageCell *)cell touchUpInsideMessageVideoView:(GVMessageVideoView *)videoView;

- (void)didMessageCell:(GVIndexMessageCell *)cell touchUpInsideMessageProductView:(GVMessageProductView *)productView button:(UIButton *)button;

- (void)didMessageCell:(GVIndexMessageCell *)cell touchUpInsideMessagePushView:(GVMessagePushView *)pushView;

- (void)didMessageCell:(GVIndexMessageCell *)cell touchUpInsideMessageRegisterView:(GVMessageRegisterView *)registerView button:(UIButton *)button;

- (void)didMessageCell:(GVIndexMessageCell *)cell touchUpInsideMessageOrderNoticeView:(GVMessageOrderNoticeView *)noticeView;

- (void)didMessageCell:(GVIndexMessageCell *)cell touchUpInsideMessageMusicView:(GVMessageMusicView *)musicView;

- (void)didMessageCell:(GVIndexMessageCell *)cell touchUpInsideLinkURL:(NSURL *)url;

@end

@interface GVIndexMessageCell : UICollectionViewCell

+ (UIFont *)messageContentFont;

+ (UIFont *)nameFont;

+ (UIFont *)timeFont;

@property (nonatomic) BOOL updatedConstraints;
@property (nonatomic,readonly) UIImageView *avatorImageView;
@property (nonatomic,readonly) UIImageView *avatorContainerView;
@property (nonatomic,readonly) UILabel *timeLabel;
@property (nonatomic,readonly) UILabel *nameLabel;
@property (nonatomic,readonly) UIView *mainView;
@property (nonatomic,strong) UIView *customView;
@property (nonatomic,weak) id<GVIndexMessageCellDelegate>delegate;

@property (nonatomic,readonly) TTTAttributedLabel *messageLabel;
@property (nonatomic,readonly) GVMessageImageView *messageImageView;
@property (nonatomic,readonly) GVMessageVideoView *messageVideoView;
@property (nonatomic,readonly) GVMessageVoiceView *messageVoiceView;
@property (nonatomic,readonly) GVMessageProductView *messageProductView;
@property (nonatomic,readonly) GVMessageRegisterView *messageRegisterView;
@property (nonatomic,readonly) GVMessageOrderNoticeView *messageNoticeView;
@property (nonatomic,readonly) GVMessageMusicView *messageMusicView;
@property (nonatomic,readonly) GVMessagePushView *messagePushView;
@property (nonatomic,readonly) GVMessagePushView0 *messagePushView0;
@property (nonatomic,readonly) GVMessagePushView1 *messagePushView1;
@property (nonatomic,readonly) GVMessagePushView2 *messagePushView2;
@property (nonatomic,readonly) GVMessagePushView3 *messagePushView3;
@property (nonatomic,readonly) UIImageView *gifImageView;

//@property (nonatomic,strong) ChatMsg *message;

+ (NSString *)identifier;

@end
